public class ProxySubject implements Subject {
    Subject realSubject;

    public ProxySubject(Subject realSubject) {
        this.realSubject = realSubject;
    }

    @Override
    public void request() {
        System.out.println("send a request via proxy ");
        this.realSubject.request();
        System.out.println("after send a request by proxy");
    }
}